package cn.lili.modules.goods_auth.service;

import cn.lili.modules.goods.entity.dos.Goods;
import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
import cn.lili.modules.system.entity.dos.LiAuthSpaceGoods;
import cn.lili.modules.system.entity.dto.SpaceGoodsSearchParams;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface AuthSpaceGoodsService extends IService<LiAuthSpaceGoods> {

    /**
     * 空间商品分页列表
     *
     * @param searchParams 查询条件
     * @return 返回结果
     * */
    Page<LiAuthSpaceGoods> spaceGoods(SpaceGoodsSearchParams searchParams);

    /**
     * 添加空间商品
     * @param spaceGoods 对象
     * @return 返回结果
     * */
    Boolean addGoods(List<LiAuthSpaceGoods> spaceGoods);

    /**
     * 删除空间商品
     * @param list 对象
     * @return 返回结果
     * */
    Boolean delGoods(List<String> list);

    /**
     * 选择商品
     * @param searchParams 对象
     * @return 返回结果
     * */
    Page<Goods> goodsList(GoodsSearchParams searchParams);

    /**
     * 根据商品ID查询空间商品
     * @param goodsId 商品ID
     * @return 商品空间列表
     * */
    List<LiAuthSpaceGoods> getLiAuthSpaceGoodsByGoodsId(String goodsId);

    /**
     * 根据商品ID更新商品
     * @param spaceGoods 对象
     * @return 返回结果
     * */
    Boolean updateGoods(List<LiAuthSpaceGoods> spaceGoods);

    /**
     * 获取空间商品列表
     * @return
     */
    List<Goods> getListByAuthSpace (String name);
}
